/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.
 */

import { MoreInfo } from '@ohos/hvigor-logger';

/**
 * hvigor项目的打点数据声明
 */
export interface HvigorTraceData {
  // 时间单位是纳秒
  TOTAL_TIME?: number;

  // 是否开启增量开关
  IS_INCREMENTAL: boolean;

  // 是否开启daemon模式
  IS_DAEMON: boolean;

  // 是否开启并行开关
  IS_PARALLEL: boolean;

  // 是否开启hvigorfile.ts的类型检查
  IS_HVIGORFILE_TYPE_CHECK: boolean;

  // 报错的日志对象
  ERROR_MESSAGE?: {
    CODE?: string;
    TIMESTAMP?: string;
    BUILD_ID?: string;
    MESSAGE?: string;
    SOLUTIONS?: string[];
    MORE_INFO?: MoreInfo;
    COMPONENTS?: string;
    CHECK_MESSAGE?: string;
  }[];

  // 任务的执行时间, string1是模块名（匿名），string2是任务名
  TASK_TIME?: Record<string, Record<string, number>>;

  // 构建id
  BUILD_ID?: string;

  // List of API's used during compilation
  APIS: Set<string>;

  // hvigor-config.json5 中的 properties中的配置
  CONFIG_PROPERTIES?: {
    [key: string]: any;
  };
}
